A NAND flash memory is a non-volatile memory capable of holding information even after the stop of power supply. It is superior to other non-volatile memories in terms of bit unit cost and has therefore become widespread. In the NAND flash memory, however, memory cells for storing data wear. The wear causes degradation of saved data, and the stored data cannot correctly be reproduced at high possibility. The time to retain stored data shortens in accordance with the degree of exhaustion.
Using error correction codes (ECCs) for correcting data errors that have occurred enables to reconstruct correct data. However, since the data on the NAND flash memory remains erroneous, the correct data cannot be reconstructed if errors beyond the correction capabilities of the ECCs have occurred.